#!/bin/bash

# 获取当前目录下的所有项目文件夹
for dir in */ ; do
    # 进入每个项目文件夹
    if [ -d "$dir/.git" ]; then
        echo "Processing $dir"

        # 获取当前的远程仓库地址
        cd "$dir"
        remote_url=$(git remote get-url origin)

        # 检查是否是 SSH 地址格式
        if [[ $remote_url == git@* ]]; then
            echo "Current SSH URL: $remote_url"

            # 提取域名和仓库路径
            domain=$(echo $remote_url | sed -E 's/git@([^:]+):.*/\1/')
            path=$(echo $remote_url | sed -E 's/git@[^:]+:(.*)/\1/')

            # 构建 HTTP 地址
            new_url="http://$domain/$path"

            # 更新远程仓库地址为 HTTP 格式
            git remote set-url origin "$new_url"
            echo "Updated to HTTP URL: $new_url"
        else
            echo "No SSH URL found for $dir"
        fi

        # 返回到上一级目录
        cd ..
    fi
done

echo "All projects processed."